Constraint-based verification of abstract models of multitreaded programs
نویسنده
چکیده
We present a technique for the automated verification of abstract models of multithreaded programs providing fresh name generation, name mobility, and unbounded control. As high level specification language we adopt here an extension of communication finitestate machines with local variables ranging over an infinite name domain, called TDL programs. Communication machines have been proved very effective for representing communication protocols as well as for representing abstractions of multithreaded software. The verification method that we propose is based on the encoding of TDL programs into a low level language based on multiset rewriting and constraints that can be viewed as an extension of Petri Nets. By means of this encoding, the symbolic verification procedure developed for the low level language in our previous work can now be applied to TDL programs. Furthermore, the encoding allows us to isolate a decidable class of verification problems for TDL programs that still provide fresh name generation, name mobility, and unbounded control. Our syntactic restrictions are in fact defined on the internal structure of threads: In order to obtain a complete and terminating method, threads are only allowed to have at most one local variable (ranging over an infinite domain of names).
منابع مشابه
Constraint-based automatic verification of abstract models of multithreaded programs
We present a technique for the automated verification of abstract models of multithreaded programs providing fresh name generation, name mobility, and unbounded control. As high level specification language we adopt here an extension of communication finitestate machines with local variables ranging over an infinite name domain, called TDL programs. Communication machines have been proved very ...
متن کاملCDB-PV: A Constraint Database-Based Program Verifier
In this paper we present a new system called CDB-PV that uses constraint databases (CDBs) for program verification (PV). The CDB-PV system was implemented in C++ and tested on several sample programs that are difficult to verify using other methods. The CDB-PV system also runs efficiently for the sample programs. The CDB-PV approach is similar to abstract interpretation but it allows non-convex...
متن کاملAbstract Verification and Debugging of Constraint Logic Programs
Verification and Debugging of Constraint Logic Programs Manuel Hermenegildo, Germán Puebla, Francisco Bueno, and Pedro López-Garćıa {herme,german,bueno,pedro}@fi.upm.es Department of Computer Science Technical University of Madrid (UPM)
متن کاملRefining Abstract Interpretation Based Value Analysis with Constraint Programming Techniques
Abstract interpretation based value analysis is a classical approach for verifying programs with floating-point computations. However, state-of-the-art tools compute an over-approximation of the variable values that can be very coarse. In this paper, we show that constraint solvers can significantly refine the approximations computed with abstract interpretation tools. We introduce a hybrid app...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/cs/0601037 شماره
صفحات -
تاریخ انتشار 2005